﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Data.Dao.Linq;
using Crosland.Automotriz.Core;
using Crosland.Automotriz.Seguridad.ControlExeption;

namespace Crosland.Automotriz.Logic.Linq
{
    public class clsT_Log_Canibalizacion_CabLogic
    {

        private clsT_Log_Canibalizacion_CabDAO canibalizacionCabDao = new clsT_Log_Canibalizacion_CabDAO();

        public IEnumerable<Object> Listar(int intIdEstado)
        {
            try
            {
                return canibalizacionCabDao.Listar(intIdEstado);
            }
            catch (Exception ex)
            {                
                throw new  DataException("Error en la aplicación ",ex);
            }
        }

        public IEnumerable<Object> listarPorEstadoPendiente(int idEstado)
        {
            return canibalizacionCabDao.listarPorEstadoPendiente(idEstado);

        }
        public IEnumerable<Object> ListarPendientes(String strNroChasis)
        {

            try
            {
                return canibalizacionCabDao.ListarPendientes(strNroChasis);
            }
            catch (Exception ex)
            {
                throw new DataException("Error en la aplicación ", ex);
            }
        }

        public bool Insertar(T_LOG_CANIBALIZACION_CAB Obj)
        {

            try
            {
                return canibalizacionCabDao.Insertar(Obj);
            }
            catch (Exception ex)
            {
                
                throw new DataException("Error en la aplicación",ex);
            }
        
        
        }


        public bool Modificar(T_LOG_CANIBALIZACION_CAB Obj)
        {

            try
            {
                return canibalizacionCabDao.Modificar(Obj);
            }
            catch (Exception ex)
            {

                throw new DataException("Error en la aplicación", ex);
            }


        }



        public bool ActualizaEstado_LOG_CANIBALIZACION_CAB(int intEstado, int intIdLogCanibalizacionCab)
        {
            try
            {
                return canibalizacionCabDao.ActualizaEstado_LOG_CANIBALIZACION_CAB(intEstado, intIdLogCanibalizacionCab);
            }
            catch (Exception ex)
            {

                throw new DataException("Error en la aplicación", ex);
            }        
        }


        public bool ActualizaEstadoArmado(int id_estado, int intIdLogCanibalizacionCab)
        {
            try
            {
                return canibalizacionCabDao.ActualizaEstadoArmado(id_estado, intIdLogCanibalizacionCab);
            }
            catch (Exception ex)
            {
                throw new DataException("Error en la aplicación", ex);
            }

        }


        public List<T_LOG_CANIBALIZACION_CAB_EN> ListarPorIdCab(int intIdCab)
        {
            try
            {
                return canibalizacionCabDao.ListarPorIdCab(intIdCab);
            }
            catch (Exception ex)
            {

                throw new DataException("Error en la aplicación", ex);
            }     
           

        }


        public IEnumerable<Object> ListaEstado()
        {
            try
            {
                return canibalizacionCabDao.ListaEstado();
            }
            catch (Exception ex)
            {

                throw new DataException("Error en la aplicación", ex);
            }     

        }

        public IEnumerable<Object> ListaEstadoSolicitado()
        {
            try
            {
                return canibalizacionCabDao.ListaEstadoSolicitado();
            }
            catch (Exception ex)
            {

                throw new DataException("Error en la aplicación", ex);
            }

        }


        public IEnumerable<Object> listarCorreo()
        {

            try
            {
                return canibalizacionCabDao.listarCorreo();
            }
            catch (Exception ex)
            {

                throw new DataException("Error en la aplicación", ex);
            }     


        }


        public int ActualizarFechaCanibalizacion(int intIdLogCanibalizacionCab, DateTime? fecha_canibalizacion)
        {
            try
            {
                return canibalizacionCabDao.ActualizarFechaCanibalizacion(intIdLogCanibalizacionCab, fecha_canibalizacion);
            }
            catch (Exception ex)
            {
                throw new DataException("Error en la aplicación", ex);
            } 
        
        }


        public int ActualizarFechaArmado(int intIdLogCanibalizacionCab, DateTime? fecha_armado)
        {
            try
            {
                return canibalizacionCabDao.ActualizarFechaArmado(intIdLogCanibalizacionCab, fecha_armado);
            }
            catch (Exception ex)
            {
                throw new DataException("Error en la aplicación", ex);
            }
        }
    }
}
